home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / newsgroups / misc.19950528-19950726 / 000289_news@columbia.edu_Sun Jul 9 18:03:54 1995.msg < prev    next >
Internet Message Format  |  2020-01-01  |  13KB

  1. Received: from apakabar.cc.columbia.edu by watsun.cc.columbia.edu with SMTP id AA07743
  2.   (5.65c+CU/IDA-1.4.4/HLK for <kermit.misc@watsun.cc.columbia.edu>); Sun, 9 Jul 1995 14:03:58 -0400
  3. Received: by apakabar.cc.columbia.edu id AA14199
  4.   (5.65c+CU/IDA-1.4.4/HLK for kermit.misc@watsun); Sun, 9 Jul 1995 14:03:56 -0400
  5. Path: news.columbia.edu!watsun.cc.columbia.edu!fdc
  6. From: fdc@watsun.cc.columbia.edu (Frank da Cruz)
  7. Newsgroups: comp.protocols.kermit.misc,comp.dcom.modems
  8. Subject: Portable Dialing Directory Design
  9. Date: 9 Jul 1995 18:03:54 GMT
  10. Organization: Columbia University
  11. Lines: 237
  12. Message-Id: <3tp5ma$drl@apakabar.cc.columbia.edu>
  13. Nntp-Posting-Host: watsun.cc.columbia.edu
  14. Cc: 
  15. Xref: news.columbia.edu comp.protocols.kermit.misc:3124 comp.dcom.modems:101472
  16.  
  17.  
  18. [Note: I posted this before, but it did not seem to "take".  Apologies
  19. in advance if it appears twice.]
  20.  
  21. Hi everybody.  I'm posting this message to some lists I don't usually
  22. inhabit, as well as to some familiar ones, so let me begin by explaining
  23. that I'm the principle author of C-Kermit communications software; I am
  24. working on improving its modem and dialing support and need some guidance
  25. and opinions from people who know more about telephony than I do.
  26.  
  27. For a dialing directory to be "portable", it should work no matter where
  28. you are calling from: the local calling area (a local call), a different
  29. calling area (a long-distance call), another country (an international
  30. call), etc, and from a phone that is directly on the telephone system as
  31. well as from a hotel room or office where you must dial a special code to
  32. get an "outside line", and also irrespective of your long-distance carrier
  33. (in countries like the USA, where you have a choice), and also whether or
  34. not you are billing the call to the calling phone or to a calling-card or
  35. credit-card number, all this independently of any particular features or
  36. limitations of the modem (e.g. maximum command or phone-number length) or
  37. the telephone system (e.g. availability of Touch Tone (tm) dialing).
  38.  
  39. It seems to me that given the diverse formats for telephone numbers all
  40. over the world, the diversity of calling procedures (e.g. when using
  41. different long-distance dialing methods in the USA, such as "1" vs
  42. "10-xxx" vs "1-800-xxx-yyyy" and then answering a bunch of questions),
  43. that there is no way to have a dialing directory feature that is simple
  44. enough for most people to understand, at least not without building a
  45. gigantic knowledge base into the software that is guaranteed to be
  46. obsolete the moment the software is released due to the constantly
  47. changing telephony landscape, or else without launching a lengthy
  48. inquisition of the user each time a number is to be dialed.
  49.  
  50. Here is what we have so far in the working copy of C-Kermit:
  51.  
  52. 1. The DIAL command, e.g. "dial foo".  If "foo" is found in the dialing
  53.    directory, it is replaced by the associated number; otherwise it is
  54.    dialed literally (a feature that allows the user to totally bypass
  55.    the dialing directory).
  56.  
  57. 2. The DIAL METHOD, Tone, pulse, or unspecified.  Kermit uses its knowledge
  58.    of the particular modem to dial using the specified method.  Perfectly
  59.    straightforward.
  60.  
  61. 3. The DIAL PREFIX.  This is used for specifying a code to be dialed in
  62.    order to get an outside line, e.g. when dialing from a PBX or hotel room.
  63.    In other words, this is a prefix to be ADDED to the beginning of the
  64.    phone number that is extracted from the dialing directory.
  65.  
  66. 4. The DIAL LOCAL-AREA-CODE.  This is a prefix to be REMOVED from the
  67.    beginning of a phone number from the dialing directory, if the number
  68.    begins with this prefix.  This lets you include area codes in all
  69.    numbers and have them stripped automatically when it is a local call,
  70.    but kept on when you are travelling and it is a long-distance call.
  71.    (The DIAL PREFIX is added after this step, unconditionally.)
  72.    
  73. Rationale: In the USA, at least, one normally may not dial a local call as
  74. if it were a long-distance call (doing so results in an error tone or
  75. message).  Thus, the "country" and area codes (e.g. "1-212") must be
  76. stripped before dialing a number in the same area code, but must be
  77. included when dialing the same number from a different area code.
  78.  
  79. But...  In some area codes, such as Westchester Country in New York State,
  80. one may (must) use a short number (no "1" or area code) for calls in one's
  81. own town, but a long-distance form (1 914 xxx-xxxx) for calls in the same
  82. area code but outside of one's own town.
  83.  
  84. Another difficulty we face is that to dial a long-distance number in the USA,
  85. we start with "1", but to dial the same number from outside the USA, we might
  86. have to dial (say) "001".  Similarly, area codes in countries like Germany
  87. and England might start with "0", but when dialing them from the USA, leading
  88. zeroes must be omitted.  (Perhaps this is just a different way of saying
  89. that the long-distance dialing prefix in Germany or England is "0").
  90.  
  91. Now, without redesigning Kermit's dialing directory to be some kind of
  92. WIN.INI- or NET.CFG-style monstrosity, or invent a programming language
  93. for writing dialing directories (since dialing is no longer simply the
  94. entry of a number, but a procedure that varies with the context), and
  95. without imbedding within the Kermit code any knowledge about any
  96. particular dialing system or telephone-number format (which, if it were
  97. done, would wind up favoring some countries or carriers over others), the
  98. question is: how much can we accomplish using Kermit's current
  99. dialing-directory format and dialing facilities?
  100.  
  101. If a person always dials from the same place, then each number can be
  102. entered in the dialing directory in exactly the way the person dials it:
  103. local, long-distance, tie-line, internal PBX number, etc.  That is what we
  104. had before, and it works for most people.
  105.  
  106. But to meet the needs of those who travel around with their dialing
  107. directories, or for that matter to construct dialing directories which
  108. themselves are portable, e.g. to be shipped to people in diverse locations
  109. throughout the world, what is the least amount of complexity and
  110. "knowledge" we can get away with?
  111.  
  112. Let's assume (and, in fact, recommend) that all entries in a portable
  113. dialing directory be in a uniform format:
  114.  
  115.  1. Numbers within the country where one normally dials from are entered
  116.     in the long-distance-dialing format for one's own country, and this
  117.     applies also to numbers that are normally dialed locally, for example
  118.     1-212-765-4321 for a USA number dialed from within the USA.
  119.  
  120.  2. Numbers outside the country from which one normally dials are entered
  121.     prefixed by the code for international dialing, e.g. 011 in the USA, and
  122.     then the country code, e.g. 49 for Germany.
  123.  
  124. Now let's assume (this is entirely fictitious):
  125.  
  126.  1. I work in Manhattan, New York City (USA), area "212".
  127.  
  128.  2. I live in White Plains, New York State (USA), area "914".
  129.  
  130.  3. I sometimes travel to Hannover, Germany, bringing a laptop.
  131.  
  132. The object of the game is to have only one dialing directory that works in
  133. all situations.
  134.  
  135. Let's assume my dialing directory is as follows.  Please bear in mind that
  136. I don't understand non-North-American phone numbers very well, since as
  137. far as I can tell, and unlike North American phone numbers, most of them
  138. seem to have variable-length fields -- for example, in Germany, the area
  139. code for Frankfurt seems to be 69, for Hannover 511, and for Marburg 6421,
  140. and then length of the part after the area code seems to vary also.  So
  141. here is the text of a short sample dialing directory (ignoring the other
  142. items a dialing directory might contain, because we are concentrating only
  143. on the phone numbers, and bearing in mind that a real dialing directory
  144. might be much longer, and might contain entries from many countries and
  145. areas within countries):
  146.  
  147.     OFFICE     1-212-765-4321
  148.     INTERNET   1-212-555-1234
  149.     HOME       1-914-987-6543
  150.     NYACK      1-914-876-5432
  151.     HANNOVER   011-49-511-54-32-1
  152.     HANNOVER2  011-49-511-65-43-2
  153.     MARBUG     011-49-6431-76-54-3
  154.     FRANKFURT  011-49-69-87-65-4
  155.  
  156. Given all this, then:
  157.  
  158.  1. At work I "set dial local-area-code 1-212".
  159.  
  160.     This will strip "1-212" from any numbers in my dialing directory
  161.     before dialing the phone.  All other numbers are dialed exactly as
  162.     they are recorded.  Thus if I "dial internet" from my office,
  163.     it is dialed as "555-1234", but if I "dial nyack", it is dialed as
  164.     "1-914-876-5432", and if I "dial hannover" it is dialed as
  165.     "011-49-511-54-32-1".
  166.  
  167.  2. At home I "set dial local-area-code 1-914".
  168.  
  169.     This will strip "1-914" from any numbers in my dialing directory
  170.     before dialing the phone.  Thus if I "dial nyack", it is dialed as
  171.     "876-5432", which, unfortunately, won't work, because Nyack is outside
  172.     of the White Plains local calling area, EVEN THOUGH IT IS IN THE SAME
  173.     AREA CODE ( which means we need to incorporate the notion of a
  174.     "local-area-code-stripping-override mechanism" of some sort on a
  175.     per-call basis )-:
  176.  
  177.  3. When in Hannover with my laptop, I "set dial local-area-code 011-49-511".
  178.  
  179.     This allows me to make local calls in Hannover; for example, to HANNOVER2.
  180.     But now if I want to make a long-distance call within Germany, I must
  181.     change to "set dial local-area-code 011-49" and I must also (I think) "set
  182.     dial prefix 0", because when dialing long distance WITHIN Germany, the
  183.     area code needs a single "0" on the front (right?).  Now I can "dial
  184.     marburg" or "dial frankfurt".  But, if I want to "dial office" from
  185.     Germany, then I must "set dial prefix 00" so that "1 212" will become "001
  186.     212" (assuming that is the way one dials the USA from Germany).
  187.  
  188.  4. Paragraph (3) assumes I am in the branch office in Hannover, which is
  189.     connected directly to the Bundesfernsprechersystem (???).  But in the
  190.     evening I go to my hotel, and from there I must dial "77" to get an
  191.     outside line.  In this case, all of paragraph (3) applies, except I must
  192.     also "set dial prefix 77" for local calls, "set dial prefix 770" for
  193.     long-distance calls within Germany, and "set  dial prefix 7700" for
  194.     international calls.
  195.  
  196. Now all of this is quite complex already.  Is there a chance in the world
  197. that anybody will remember these points or use these features?  Is there any
  198. way to make them simpler?  If so, it is not obvious to me.
  199.  
  200. One idea that suggests itself is to separate the notions of:
  201.  
  202.  1. Prefix for long distance calls within the country I am in.
  203.  2. Prefix for calling outside the country I am in.
  204.  3. The area code of the area I am in.
  205.  4. Country code of the country I am in.
  206.  5. Country code for dialing in to each country from outside.
  207.  6. Area codes within any given country.
  208.  
  209. Each entry in a portable dialing directory would contain items 5 and 6,
  210. whereas the user would have to "set" items 1 through 4 in order to dial at
  211. all.  Which does not strike me as a simplification.
  212.  
  213. Now let's add to all this the complication arising when one has a choice
  214. among several long-distance carriers and/or billing methods.  It seems to
  215. me that the entire notion of a dialing directory begins to break down,
  216. since there is no longer a standard format for a telephone number, nor a
  217. standard procedure for dialing it.  In some cases, the procedure strains
  218. the capabilities of most modems and software -- for example, by engaging
  219. in a voice dialog in which one waits for a spoken question and then, only
  220. after the question has been asked, one enter a DTMF or other response.
  221.  
  222. Unless I am mistaken (which is quite possible) there is no simple and
  223. portable abstraction for a complete calling sequence, which may consist
  224. of:
  225.  
  226.  . prefix to get an outside line (maybe)
  227.  . dialing prefix (local, long-distance, international, tie-line, etc)
  228.  . long-distance-carrier access code (or not)
  229.  . credit- or calling-card account number (or not)
  230.  . country code (or not)
  231.  . area code (or not)
  232.  . the phone number itself
  233.  . who knows what else -- an extension, a call-processing dialog, etc.
  234.  
  235. The order of these items might vary, the procedure for making the
  236. transition from one to the next might vary, and so on.  And, obviously,
  237. sensitive items such as calling-card numbers must NOT be entered in the
  238. dialing directory, but must be indicated by placeholders to substituted
  239. (or not!) at dial-time.
  240.  
  241. So... given all the above, what can reasonably be expected of a dialing
  242. directory, and what kinds of simplifying assumptions or techniques can we
  243. use not only to implement it, but to make it easy to understand and
  244. therefore to use?
  245.  
  246. I'm looking for ideas, opinions, and detailed information about dialing
  247. methods used in all parts of the world.  Any information you send will be
  248. much appreciated and, hopefully, will end up making life easier (or harder)
  249. for modem users everywhere (or nowhere).
  250.  
  251. Thanks!
  252.  
  253. - Frank